function controler(target, name, des) {
  console.log('controllerr', target, name, des)
  target.test = 'test'
}

function speak(langauage) {
  console.log(langauage)
  return function (target, name, descript) {
    console.log('speak', target, name, 'descript')
    target.langauage = langauage
  }
}

function test (target, name, descript) {
  console.log('test', target, name, 'descript')
}


@controler
class Boy {
  @test
  @speak('中文')
  run() {
    console.log('i can run!', this.langauage)
  }
  @speak('中文2')
  run2() {
    console.log('i can run!', this.langauage)
  }
}
let luke = new Boy()
luke.run()
